package com.ruoyi.system.service;

import com.ruoyi.system.domain.dto.TCodeDto;
import com.ruoyi.system.domain.po.TCode;
import com.ruoyi.system.domain.po.TTag;
import com.ruoyi.system.domain.vo.TCodeVo;

import java.util.List;

public interface TCodeServier {

    /**
     * 新增变量
     * @param insert
     * @return
     */
    Integer insertCode(TCodeDto.Insert insert);

    /**
     * 修改变量
     * @param update
     * @return
     */
    Integer updateCode(TCodeDto.Update update);

    /**
     * 删除变量
     * @param delete
     * @return
     */
    Integer deleteCode(TCodeDto.Delete delete);

    /**
     * 查询变量
     * @param list
     * @return
     */
    List<TCodeVo.Result> listCode(TCodeDto.Query list);

    /**
     * 导出变量
     * @param export
     */
    void exportCode(TCodeDto.Export export);

    /**
     * 新增标签
     * @param tagInsert
     * @return
     */
    Integer insertTag(TCodeDto.TagInsert tagInsert);

    /**
     * 修改标签
     * @param tagUpdate
     * @return
     */
    Integer updateTag(TCodeDto.TagUpdate tagUpdate);

    /**
     * 删除标签
     * @param tagDelete
     * @return
     */
    Integer deleteTag(TCodeDto.TagDelete tagDelete);

    /**
     * 查询标签
     * @param queryTag
     * @return
     */
    List<TTag> listTag(TCodeDto.QueryTag queryTag);

    /**
     * 导入变量
     * @param list
     */
    void importCode(List<TCodeDto.Import> list);

    List<TCode> queryByCodeList(List<String> codeList);

    /**
     * 从缓存中获取code
     * @return
     */
    TCodeVo.Result getCodeCache(String code);

}
